package cn.tedu.baking.controller;

import cn.tedu.baking.pojo.dto.UserLoginDTO;
import cn.tedu.baking.pojo.dto.UserRegDTO;
import cn.tedu.baking.pojo.dto.UserUpdateDTO;
import cn.tedu.baking.pojo.vo.UserVO;
import cn.tedu.baking.response.common.JsonResult;
import cn.tedu.baking.service.IUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Author：毕龙
 * Date: 2024/8/14 10:45
 */
@RestController
@RequestMapping("/v1/users")
@Slf4j
public class UserController {


    @Autowired
    private IUserService iUserService;

    public UserController(){
        log.debug("创建UserController对象");
    }


    @PostMapping("/reg")
    public JsonResult saveUser(UserRegDTO userRegDTO){
        log.debug("注册的对象是:{}", userRegDTO);
        iUserService.saveUser(userRegDTO);
        return JsonResult.ok();
    }

    @PostMapping("/login")
    public JsonResult selectUser(UserLoginDTO userLoginDTO){
        log.debug("注册的对象是:{}", userLoginDTO);
        UserVO userVO = iUserService.selectUser(userLoginDTO);
        return JsonResult.ok(userVO);
    }

    @PutMapping("/update")
    public JsonResult updateUserById(UserUpdateDTO userUpdateDTO){
        log.debug("获取前端修改数据：{}", userUpdateDTO);
        iUserService.updateUserById(userUpdateDTO);
        return JsonResult.ok();
    }




}
